package com.pan.common.interview.throwable;


/**
 * 抛出异常后执行顺序
 * 1、抛出异常的地方停止执行，进入catch模块
 * 2、执行catch模块汇总的语句，但不执行return
 * 3、执行finally中的语句，如果finally中有return 则执行，如果没有，则执行catch中的return。
 */
public class ExceptionHandleMechanism {

    public static int doWork() {
        try {
            int i = 10 / 0;    //会抛出异常
            System.out.println("i=" + i);
        } catch (ArithmeticException e) {
            //捕获 Exception
            System.out.println("ArithmeticException: " + e);
            return 1;
        } finally {
            System.out.println("Finally");
            return 2;
        }
    }
    public static void main(String[] args) {
        int i = doWork();
        System.out.println("Mission Complete,i ："+i);
    }
}
